package student.aistar.day10.obj;


public class TestEqualsDemo {
    public static void main(String[] args) {
        Product p1 = new Product(1,"mac2",10000.0d);
        ProductInfo info1 = new ProductInfo(1,"好产品");
        p1.setProductInfo(info1);

        Product p2 = new Product(1,"mac",20000.0d);
        ProductInfo info2 = new ProductInfo(1,"坏产品");
        p2.setProductInfo(info2);

        System.out.println(p1.equals(p2));//true
        System.out.println(p1 == p2);//false

        //需求 - 认为产品的id以及这个产品对应的产品信息的id一致的时候认为返回true

        //java.lang.Class<T> - 类型 - 这个类是用来描述的类的类
        //所有的类在他面前都是一个对象而已.
        //获取类的class实例. 一个类无论被实例化多少次, 他在内存中的class实例永远只有一个
        //这个类也是反射技术的基础
        Class<?> c = p1.getClass();
        Class<?> c1 = p2.getClass();
        System.out.println(c);//class tech.aistar.day10.obj.Product
        System.out.println(c.getName());//tech.aistar.day10.obj.Product
        System.out.println(c == c1);
    }
}
